Presto REST API ব্যবহার করা

Database Tutorials - অ্যাপাচি প্রেস্টো (Apache Presto) Presto API Integration |
224
224

Presto হল একটি ডিস্ট্রিবিউটেড SQL কোয়েরি ইঞ্জিন যা ডেটা বিশ্লেষণ এবং প্রসেসিং করার জন্য ব্যবহৃত হয়। Presto একটি REST API প্রদান করে যা আপনাকে কোয়েরি এক্সিকিউশন, কোয়েরি মেটাডেটা, এবং ক্লাস্টার পারফরম্যান্স ট্র্যাকিং করতে সক্ষম করে। Presto REST API এর মাধ্যমে আপনি কোয়েরি চালাতে, ফলাফল সংগ্রহ করতে এবং কোয়েরি ব্যবস্থাপনা করতে পারেন।

এখানে, আমরা Presto REST API ব্যবহার করার পদ্ধতি এবং উদাহরণ আলোচনা করব।


Presto REST API Overview

Presto REST API মূলত দুটি প্রধান কাজের জন্য ব্যবহৃত হয়:

  1. Query Execution: SQL কোয়েরি পাঠানো এবং তার ফলাফল সংগ্রহ করা।
  2. Query Status: কোয়েরির স্টেটাস এবং প্রগ্রেস ট্র্যাক করা।

Presto REST API মূলত HTTP প্রোটোকল ব্যবহার করে কোয়েরি রিকোয়েস্ট গ্রহণ করে এবং JSON ফরম্যাটে ফলাফল প্রদান করে।


Presto REST API: Request and Response Format

  • Request Format: API এ POST এবং GET রিকোয়েস্ট করা হয়। কোয়েরি এক্সিকিউশনের জন্য POST ব্যবহার করা হয়, এবং কোয়েরি স্টেটাস বা ফলাফল পেতে GET ব্যবহার করা হয়।
  • Response Format: API সাধারণত JSON ফরম্যাটে ফলাফল প্রদান করে।

Presto REST API Example:

১. কোয়েরি চালানো (Query Execution)

Presto REST API-তে কোয়েরি চালানোর জন্য, প্রথমে /v1/statement এ একটি POST রিকোয়েস্ট পাঠাতে হয়।

Request:

POST http://<presto-server>:8080/v1/statement

Headers:

Content-Type: application/json

Request Body:

{
  "query": "SELECT * FROM hive.default.orders LIMIT 10"
}

এই রিকোয়েস্টে, Presto সার্ভার hive.default.orders টেবিল থেকে 10টি রেকর্ড নির্বাচন করবে।

Response:

{
  "id": "d093dd6d-30a9-4f96-a28f-bf9a111f6a79",
  "state": "QUEUED"
}
  • id: কোয়েরির একটি ইউনিক আইডি যা আপনি পরবর্তী API কলের জন্য ব্যবহার করবেন।
  • state: কোয়েরির অবস্থা, যেমন QUEUED, RUNNING, বা FINISHED

২. কোয়েরি স্টেটাস চেক করা (Check Query Status)

কোয়েরি চালানোর পর, আপনি তার স্টেটাস ট্র্যাক করতে GET /v1/query/{query_id} API ব্যবহার করতে পারেন।

Request:

GET http://<presto-server>:8080/v1/query/d093dd6d-30a9-4f96-a28f-bf9a111f6a79

Response:

{
  "id": "d093dd6d-30a9-4f96-a28f-bf9a111f6a79",
  "state": "FINISHED",
  "stats": {
    "totalSplits": 12,
    "queuedSplits": 0,
    "runningSplits": 0,
    "completedSplits": 12,
    "cpuTimeMillis": 30,
    "wallTimeMillis": 1024
  }
}
  • state: কোয়েরির বর্তমান অবস্থা। উদাহরণস্বরূপ, এটি RUNNING, QUEUED, বা FINISHED হতে পারে।
  • stats: কোয়েরির এক্সিকিউশনের বিস্তারিত, যেমন কতটি split কাজ করেছে এবং মোট CPU এবং সময় ব্যবহার।

৩. কোয়েরির ফলাফল প্রাপ্তি (Query Results)

কোয়েরি সম্পন্ন হলে, আপনি GET /v1/query/{query_id}/results API কল করে ফলাফল পেতে পারেন।

Request:

GET http://<presto-server>:8080/v1/query/d093dd6d-30a9-4f96-a28f-bf9a111f6a79/results

Response:

{
  "columns": [
    { "name": "order_id", "type": "bigint" },
    { "name": "customer_id", "type": "bigint" },
    { "name": "order_status", "type": "varchar" }
  ],
  "data": [
    { "row": [1001, 2001, "shipped"] },
    { "row": [1002, 2002, "processing"] },
    { "row": [1003, 2003, "shipped"] }
  ]
}
  • columns: প্রতিটি কলামের নাম এবং টাইপ।
  • data: কোয়েরির ফলাফল, প্রতিটি রেকর্ডের জন্য একটি row প্রদান করা হয়।

Presto REST API তে Authentication

যদি Presto REST API এর জন্য authentication প্রয়োজন হয়, তবে Basic Authentication বা Kerberos Authentication ব্যবহার করতে হবে।

Basic Authentication উদাহরণ:

curl -u username:password -X POST http://<presto-server>:8080/v1/statement -d '{"query":"SELECT * FROM hive.default.orders LIMIT 10"}'

এখানে, -u username:password ব্যবহারকারী নাম এবং পাসওয়ার্ড প্রদান করে।


Presto REST API এর ব্যবহার:

  1. Automation: আপনি Presto REST API ব্যবহার করে কোয়েরি এক্সিকিউশন স্বয়ংক্রিয় করতে পারেন, যেমন ETL (Extract, Transform, Load) প্রক্রিয়া বা ব্যাচ প্রসেসিং।
  2. Integration: আপনি Presto REST API ব্যবহার করে অন্যান্য সিস্টেমের সাথে Presto ইন্টিগ্রেট করতে পারেন, যেমন BI টুলস, ডেটা পিপলাইনের সাথে সংযোগ করা।
  3. Query Monitoring: আপনি Presto REST API দিয়ে কোয়েরির স্টেটাস এবং পারফরম্যান্স ট্র্যাক করতে পারেন।

সারাংশ

Presto REST API একটি কার্যকরী এবং নমনীয় পদ্ধতি প্রদান করে Presto সার্ভারের সাথে ইন্টারঅ্যাক্ট করার জন্য। আপনি API ব্যবহার করে কোয়েরি এক্সিকিউট করতে পারেন, ফলাফল পেতে পারেন, এবং কোয়েরি স্টেটাস মনিটর করতে পারেন। REST API কে ব্যবহার করে, আপনি Presto কোয়েরি এক্সিকিউশনকে সহজে স্বয়ংক্রিয় বা তৃতীয় পক্ষের সিস্টেমের সঙ্গে সংযুক্ত করতে পারেন।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion
;